1. Technical Field
The invention is related to crossbar switches for application in optical communication networks.
2. Background Art
The current state of crossbar technology often relies on the use of a global electronic controller to route packets through a switching network and resolve packet contention problems. Such a scheme has the drawback of requiring a complicated electronic control mechanism in the data path. This configuration not only constricts switching speed but also the scalability of the crossbar due to the complexity of the controller. A multistage interconnection network (MIN), such as a hypercube or omega/shuffle exchange network, can be used to increase the network size much beyond the number of I/O ports of a given crossbar. A crossbar is a switching matrix in which a connection can be made from any input port to any output port. A MIN configuration is formed by cascading several crossbars to provide an indirect connection between any input of one crossbar to any output of another crossbar.
By defining the crossbars as connection points or nodes, and lines with arrows joining them as links, a directed graph is realized where the arrows on the links designate the direction of data flow. Depending on the interconnection of the crossbars, different MIN topologies such as a hypercube or an omega/shuffle exchange network are realized. Referring to the hypercube topology of FIG. 1, two nodes 100, 110 are joined via a bidirectional link 115 which uses one input and one output port from each node 100, 110. The dimensionality of a given hypercube is just the number of bidirectional links/next neighbor nodes connected to a given node, where the binary address of a next neighbor node differs in only one bit position from that of the given node address. For an n-1 dimension hypercube, each node is an n.times.n crossbar to accommodate a total of 2.sup.n-1 nodes, where the n.sup.th I/O ports of the crossbar are connected to the host device. This situation is illustrated for a 3-dimensional hypercube in FIG. 1.
In contrast to the hypercube topology, a shuffle exchange network of the type illustrated in FIG. 2 is unidirectional and requires only 2.times.2 crossbars/switches 200, or 2-input/2-output bypass/exchange switches, with data coming into the left side of the network and undergoing a shuffle operation between switch stages 210, 220. Each stage 210, 220 of a k-stage shuffle exchange network, has 2.sup.k-1 2.times.2 switches 200 (for a total of k*2.sup.k-1 switches) with 2.sup.k packets incident on the first stage 210. After k switch stages, the 2.sup.k packets are reorganized into the desired output positions. FIG. 2 shows a 3-stage (k=3) omega/shuffle exchange network. While these schemes provide scalability of the network, the hypercube topology scales as 2.sup.n where n is the number of nodes, while the number of shuffle exchange switches scales as k*2.sup.k- for 2.sup.k inputs If the hypercube or shuffle exchange network were fully connected and one more host was to be added, an additional 2.sup.n nodes or k*2.sup.k-1 +2.sup.k switches would be needed for these topologies respectively. Such scalability can be very expensive in terms of the additional hardware required in addition to the increased switching latency of another complex controller in the data path.